home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-08-28 | 6.0 KB | 155 lines | [TEXT/MPS ] |
-
- {
- Created: Tuesday, September 10, 1991 at 2:15 PM
- SoundInput.p
- Pascal Interface to the Macintosh Libraries
-
- Copyright Apple Computer, Inc. 1990-1991
- All rights reserved
- }
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT SoundInput;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingSoundInput}
- {$SETC UsingSoundInput := 1}
-
- {$I+}
- {$SETC SoundInputIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
- {$IFC UNDEFINED UsingDialogs}
- {$I $$Shell(PInterfaces)Dialogs.p}
- {$ENDC}
- {$IFC UNDEFINED UsingFiles}
- {$I $$Shell(PInterfaces)Files.p}
- {$ENDC}
- {$SETC UsingIncludes := SoundInputIncludes}
-
- CONST
- siDeviceIsConnected = 1; { input device is connected and ready for input }
- siDeviceNotConnected = 0; { input device is not connected }
- siDontKnowIfConnected = -1; { can't tell if input device is connected }
- siReadPermission = 0; { permission passed to SPBOpenDevice }
- siWritePermission = 1; { permission passed to SPBOpenDevice }
-
- { Info Selectors for Sound Input Drivers }
- siDeviceConnected = 'dcon'; { input device connection status }
- siAGCOnOff = 'agc '; { automatic gain control state }
- siPlayThruOnOff = 'plth'; { playthrough state }
- siTwosComplementOnOff = 'twos'; { two's complement state }
- siLevelMeterOnOff = 'lmet'; { level meter state }
- siRecordingQuality = 'qual'; { recording quality }
- siVoxRecordInfo = 'voxr'; { VOX record parameters }
- siVoxStopInfo = 'voxs'; { VOX stop parameters }
- siNumberChannels = 'chan'; { current number of channels }
- siSampleSize = 'ssiz'; { current sample size }
- siSampleRate = 'srat'; { current sample rate }
- siCompressionType = 'comp'; { current compression type }
- siCompressionFactor = 'cmfa'; { current compression factor }
- siCompressionHeader = 'cmhd'; { return compression header }
- siDeviceName = 'name'; { input device name }
- siDeviceIcon = 'icon'; { input device icon }
- siDeviceBufferInfo = 'dbin'; { size of interrupt buffer }
- siSampleSizeAvailable = 'ssav'; { sample sizes available }
- siSampleRateAvailable = 'srav'; { sample rates available }
- siCompressionAvailable = 'cmav'; { compression types available }
- siChannelAvailable = 'chav'; { number of channels available }
- siAsync = 'asyn'; { asynchronous capability }
- siOptionsDialog = 'optd'; { display options dialog }
- siContinuous = 'cont'; { continous recording }
- siActiveChannels = 'chac'; { active channels }
- siActiveLevels = 'lmac'; { active meter levels }
- siInputSource = 'sour'; { input source selector }
- siInitializeDriver = 'init'; { reserved for internal use only }
- siCloseDriver = 'clos'; { reserved for internal use only }
- siPauseRecording = 'paus'; { reserved for internal use only }
- siUserInterruptProc = 'user'; { reserved for internal use only }
-
- { Qualities }
- siBestQuality = 'best';
- siBetterQuality = 'betr';
- siGoodQuality = 'good';
-
- TYPE
- { Sound Input Parameter Block }
- SPBPtr = ^SPB;
- SPB = RECORD
- inRefNum: LONGINT; { reference number of sound input device }
- count: LONGINT; { number of bytes to record }
- milliseconds: LONGINT; { number of milliseconds to record }
- bufferLength: LONGINT; { length of buffer in bytes }
- bufferPtr: Ptr; { buffer to store sound data in }
- completionRoutine: ProcPtr; { completion routine }
- interruptRoutine: ProcPtr; { interrupt routine }
- userLong: LONGINT; { user-defined field }
- error: OSErr; { error }
- unused1: LONGINT; { reserved - must be zero }
- END;
-
-
- FUNCTION SPBVersion: NumVersion;
- INLINE $203C,$0000,$0014,$A800;
- FUNCTION SndRecord(filterProc: ModalFilterProcPtr;corner: Point;quality: OSType;
- VAR sndHandle: Handle): OSErr;
- INLINE $203C,$0804,$0014,$A800;
- FUNCTION SndRecordToFile(filterProc: ModalFilterProcPtr;corner: Point;quality: OSType;
- fRefNum: INTEGER): OSErr;
- INLINE $203C,$0708,$0014,$A800;
- FUNCTION SPBSignInDevice(deviceRefNum: INTEGER;deviceName: Str255): OSErr;
- INLINE $203C,$030C,$0014,$A800;
- FUNCTION SPBSignOutDevice(deviceRefNum: INTEGER): OSErr;
- INLINE $203C,$0110,$0014,$A800;
- FUNCTION SPBGetIndexedDevice(count: INTEGER;VAR deviceName: Str255;VAR deviceIconHandle: Handle): OSErr;
- INLINE $203C,$0514,$0014,$A800;
- FUNCTION SPBOpenDevice(deviceName: Str255;permission: INTEGER;VAR inRefNum: LONGINT): OSErr;
- INLINE $203C,$0518,$0014,$A800;
- FUNCTION SPBCloseDevice(inRefNum: LONGINT): OSErr;
- INLINE $203C,$021C,$0014,$A800;
- FUNCTION SPBRecord(inParamPtr: SPBPtr;asynchFlag: BOOLEAN): OSErr;
- INLINE $203C,$0320,$0014,$A800;
- FUNCTION SPBRecordToFile(fRefNum: INTEGER;inParamPtr: SPBPtr;asynchFlag: BOOLEAN): OSErr;
- INLINE $203C,$0424,$0014,$A800;
- FUNCTION SPBPauseRecording(inRefNum: LONGINT): OSErr;
- INLINE $203C,$0228,$0014,$A800;
- FUNCTION SPBResumeRecording(inRefNum: LONGINT): OSErr;
- INLINE $203C,$022C,$0014,$A800;
- FUNCTION SPBStopRecording(inRefNum: LONGINT): OSErr;
- INLINE $203C,$0230,$0014,$A800;
- FUNCTION SPBGetRecordingStatus(inRefNum: LONGINT;VAR recordingStatus: INTEGER;
- VAR meterLevel: INTEGER;VAR totalSamplesToRecord: LONGINT;VAR numberOfSamplesRecorded: LONGINT;
- VAR totalMsecsToRecord: LONGINT;VAR numberOfMsecsRecorded: LONGINT): OSErr;
- INLINE $203C,$0E34,$0014,$A800;
- FUNCTION SPBGetDeviceInfo(inRefNum: LONGINT;infoType: OSType;infoData: Ptr): OSErr;
- INLINE $203C,$0638,$0014,$A800;
- FUNCTION SPBSetDeviceInfo(inRefNum: LONGINT;infoType: OSType;infoData: Ptr): OSErr;
- INLINE $203C,$063C,$0014,$A800;
- FUNCTION SPBMillisecondsToBytes(inRefNum: LONGINT;VAR milliseconds: LONGINT): OSErr;
- INLINE $203C,$0440,$0014,$A800;
- FUNCTION SPBBytesToMilliseconds(inRefNum: LONGINT;VAR byteCount: LONGINT): OSErr;
- INLINE $203C,$0444,$0014,$A800;
- FUNCTION SetupSndHeader(sndHandle: Handle;numChannels: INTEGER;sampleRate: Fixed;
- sampleSize: INTEGER;compressionType: OSType;baseNote: INTEGER;numBytes: LONGINT;
- VAR headerLen: INTEGER): OSErr;
- INLINE $203C,$0D48,$0014,$A800;
- FUNCTION SetupAIFFHeader(fRefNum: INTEGER;numChannels: INTEGER;sampleRate: Fixed;
- sampleSize: INTEGER;compressionType: OSType;numBytes: LONGINT;numFrames: LONGINT): OSErr;
- INLINE $203C,$0B4C,$0014,$A800;
-
-
- {$ENDC} { UsingSoundInput }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-
-